The Calculus of Re nements , a
نویسنده
چکیده
Programming in the large require the use of formal speci cation languages for describing program requirements and a method to test (automatically) such requirements. These methods can also be applied in other areas like complex system modeling. In this thesis we study the theoretical kernel of a formal speci cation language, named Calculus of Re nements (COR), based on the use of monotonic inclusion relations. These relations are more general than equality relations, therefore inclusion speci cations can be considered as a generalization of equational speci cations. Moreover, we propose the substitution of the typing relation \:" by an inclusion relation, therefore, the Calculus of Re nements can also be considered as a new typing discipline. The theoretical study of the Calculus of Re nements consists of the de nition of a denotational semantics and of an operational semantics for it. They are described on the two rst parts of the thesis. In the third part we approach the speci cation of nondeterministic programs by means of inclusions. In the rst part of the thesis we describe the Calculus of re nements as a logic, giving its syntax, a set of inference rules and de ning a class of models based on the class of environment models of the -calculus. We also study a concrete model where expressions are interpreted as order ideals. Such ideal domains have been used to give semantics to polymorphic types. On it we base the view of the Calculus of Re nements as a typing discipline. In the second part we give an operational semantics based on rewrite techniques. We de ne a pair of rewriting systems, namely a bi-rewriting system, which implement the deduction on inclusion theories. The main idea is using one of the relations to rewrite terms into smaller terms, and the other one to rewrite terms into bigger terms. Using a bi-rewriting system is possible to implement an algorithm to test if an inclusion a b is deducible in a theory. We rewrite a into bigger terms, and b into smaller terms till we obtain a common term. We have studied such technique for rst-order theories and linear secondorder theories (where bindings bind one and only one variable occurrence). xiii In the third part, we propose the use of bi-rewriting systems for the veri cation of nondeterministic program speci cations. We model nondeterministic computation by means of a relation satisfying, among others, the inclusion axioms. Therefore, the rewriting technique is sound (although not necessarily complete). We prove that adding more axioms to the speci cation such technique is also complete. xiv Chapter
منابع مشابه
A Language of Re nements
The re nement calculus is a formal technique for the development of programs which are provably correct with respect to their speci cations. A formal language is presented for the description of program development using the re nement calculus. The language provides an abstract representation of the overall program development, re ecting its tree-like structure. The language is used for recordi...
متن کاملRe nement - based Planning As Satis ability
It has been shown recently that planning problems are easier to solve when they are cast as model nding problems. Some schemes for automated generation of the encodings of the planning problems in propositional logic have been designed. However these schemes lack several of the re nements that traditional split & prune type planners do. We show that it is possible to transfer these re nements i...
متن کاملAn Approach to Object-Orientation in Action Systems
We extend the action system formalism with a notion of objects that can be active and distributed. With this extension we can model class-based systems as action systems. Moreover, as the introduced constructs can be translated into ordinary action systems, we can use the theory developed for action systems, especially the re nement calculus, even for class-based systems. We show how inheritanc...
متن کاملA Functorial Approach to Re nement
We introduce -algebras and -algebras as semantic domains for data re nement of imperative programming languages. The functorial semantics of -calculus is given by using the adjunction between the category of -algebras and the category of small locally ordered categories. We de ne the notion of upward and downward simulation between the interpretations of atomic commands, and re nements between ...
متن کاملClass Re nement and Interface Re nement inObject - Oriented
Constructing new classes from existing ones by inheritance or subclassing is a characteristic feature of object-oriented development. Imposing semantic constraints on subclassing allows us to ensure that the behaviour of superclasses is preserved or reened in their subclasses. This paper deenes a class reenement relation which captures these semantic constraints. The class reenement relation is...
متن کامل